/**
 */
package org.mro.grib.model.files.secondEdition.grids.impl;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;

import org.eclipse.emf.ecore.impl.EFactoryImpl;

import org.eclipse.emf.ecore.plugin.EcorePlugin;

import org.mro.grib.model.files.secondEdition.grids.*;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Factory</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class GridsFactoryImpl extends EFactoryImpl implements GridsFactory {
	/**
	 * Creates the default factory implementation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static GridsFactory init() {
		try {
			GridsFactory theGridsFactory = (GridsFactory)EPackage.Registry.INSTANCE.getEFactory(GridsPackage.eNS_URI);
			if (theGridsFactory != null) {
				return theGridsFactory;
			}
		}
		catch (Exception exception) {
			EcorePlugin.INSTANCE.log(exception);
		}
		return new GridsFactoryImpl();
	}

	/**
	 * Creates an instance of the factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridsFactoryImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public EObject create(EClass eClass) {
		switch (eClass.getClassifierID()) {
			case GridsPackage.GRID_DEFINITION_TEMPLATE30: return createGridDefinitionTemplate30();
			case GridsPackage.GRID_DEFINITION_TEMPLATE31: return createGridDefinitionTemplate31();
			case GridsPackage.GRID_DEFINITION_TEMPLATE32: return createGridDefinitionTemplate32();
			case GridsPackage.GRID_DEFINITION_TEMPLATE33: return createGridDefinitionTemplate33();
			case GridsPackage.GRID_DEFINITION_TEMPLATE34: return createGridDefinitionTemplate34();
			case GridsPackage.GRID_DEFINITION_TEMPLATE35: return createGridDefinitionTemplate35();
			case GridsPackage.GRID_DEFINITION_TEMPLATE310: return createGridDefinitionTemplate310();
			case GridsPackage.GRID_DEFINITION_TEMPLATE312: return createGridDefinitionTemplate312();
			case GridsPackage.GRID_DEFINITION_TEMPLATE320: return createGridDefinitionTemplate320();
			case GridsPackage.GRID_DEFINITION_TEMPLATE330: return createGridDefinitionTemplate330();
			case GridsPackage.GRID_DEFINITION_TEMPLATE331: return createGridDefinitionTemplate331();
			case GridsPackage.GRID_DEFINITION_TEMPLATE340: return createGridDefinitionTemplate340();
			case GridsPackage.GRID_DEFINITION_TEMPLATE341: return createGridDefinitionTemplate341();
			case GridsPackage.GRID_DEFINITION_TEMPLATE342: return createGridDefinitionTemplate342();
			case GridsPackage.GRID_DEFINITION_TEMPLATE343: return createGridDefinitionTemplate343();
			case GridsPackage.GRID_DEFINITION_TEMPLATE350: return createGridDefinitionTemplate350();
			case GridsPackage.GRID_DEFINITION_TEMPLATE351: return createGridDefinitionTemplate351();
			case GridsPackage.GRID_DEFINITION_TEMPLATE352: return createGridDefinitionTemplate352();
			case GridsPackage.GRID_DEFINITION_TEMPLATE353: return createGridDefinitionTemplate353();
			case GridsPackage.GRID_DEFINITION_TEMPLATE390: return createGridDefinitionTemplate390();
			case GridsPackage.GRID_DEFINITION_TEMPLATE3100: return createGridDefinitionTemplate3100();
			case GridsPackage.GRID_DEFINITION_TEMPLATE3101: return createGridDefinitionTemplate3101();
			case GridsPackage.GRID_DEFINITION_TEMPLATE3110: return createGridDefinitionTemplate3110();
			case GridsPackage.GRID_DEFINITION_TEMPLATE3120: return createGridDefinitionTemplate3120();
			case GridsPackage.GRID_DEFINITION_TEMPLATE31000: return createGridDefinitionTemplate31000();
			case GridsPackage.GRID_DEFINITION_TEMPLATE31100: return createGridDefinitionTemplate31100();
			case GridsPackage.GRID_DEFINITION_TEMPLATE31200: return createGridDefinitionTemplate31200();
			default:
				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
		}
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object createFromString(EDataType eDataType, String initialValue) {
		switch (eDataType.getClassifierID()) {
			case GridsPackage.GRID_DEFINITION_TEMPLATE_NUMBER:
				return createGridDefinitionTemplateNumberFromString(eDataType, initialValue);
			case GridsPackage.SOURCE_OF_GRID_DEFINITION:
				return createSourceOfGridDefinitionFromString(eDataType, initialValue);
			case GridsPackage.SHAPE_OF_THE_EARTH:
				return createShapeOfTheEarthFromString(eDataType, initialValue);
			case GridsPackage.GRID_POINT_POSITION:
				return createGridPointPositionFromString(eDataType, initialValue);
			case GridsPackage.INTERPRETATION_OF_LIST_OF_NUMBERS_AT_END_OF_SECTION3:
				return createInterpretationOfListOfNumbersAtEndOfSection3FromString(eDataType, initialValue);
			case GridsPackage.PHYSICAL_MEANING_OF_VERTICAL_COORDINATE:
				return createPhysicalMeaningOfVerticalCoordinateFromString(eDataType, initialValue);
			case GridsPackage.TYPE_OF_HORIZONTAL_LINE:
				return createTypeOfHorizontalLineFromString(eDataType, initialValue);
			case GridsPackage.VERTICAL_DIMENSION_COORDINATE_VALUES_DEFINITION:
				return createVerticalDimensionCoordinateValuesDefinitionFromString(eDataType, initialValue);
			case GridsPackage.RESOLUTION_AND_COMPONENT_FLAGS:
				return createResolutionAndComponentFlagsFromString(eDataType, initialValue);
			case GridsPackage.SCANNING_MODE:
				return createScanningModeFromString(eDataType, initialValue);
			case GridsPackage.PROJECTION_CENTRE:
				return createProjectionCentreFromString(eDataType, initialValue);
			case GridsPackage.SPECTRAL_DATA_REPRESENTATION_TYPE:
				return createSpectralDataRepresentationTypeFromString(eDataType, initialValue);
			case GridsPackage.SPECTRAL_DATA_REPRESENTATION_MODE:
				return createSpectralDataRepresentationModeFromString(eDataType, initialValue);
			case GridsPackage.NUMBERING_ORDER_OF_DIAMONDS_AS_SEEN_FROM_THE_CORRESPONDING_POLE:
				return createNumberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleFromString(eDataType, initialValue);
			default:
				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
		}
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String convertToString(EDataType eDataType, Object instanceValue) {
		switch (eDataType.getClassifierID()) {
			case GridsPackage.GRID_DEFINITION_TEMPLATE_NUMBER:
				return convertGridDefinitionTemplateNumberToString(eDataType, instanceValue);
			case GridsPackage.SOURCE_OF_GRID_DEFINITION:
				return convertSourceOfGridDefinitionToString(eDataType, instanceValue);
			case GridsPackage.SHAPE_OF_THE_EARTH:
				return convertShapeOfTheEarthToString(eDataType, instanceValue);
			case GridsPackage.GRID_POINT_POSITION:
				return convertGridPointPositionToString(eDataType, instanceValue);
			case GridsPackage.INTERPRETATION_OF_LIST_OF_NUMBERS_AT_END_OF_SECTION3:
				return convertInterpretationOfListOfNumbersAtEndOfSection3ToString(eDataType, instanceValue);
			case GridsPackage.PHYSICAL_MEANING_OF_VERTICAL_COORDINATE:
				return convertPhysicalMeaningOfVerticalCoordinateToString(eDataType, instanceValue);
			case GridsPackage.TYPE_OF_HORIZONTAL_LINE:
				return convertTypeOfHorizontalLineToString(eDataType, instanceValue);
			case GridsPackage.VERTICAL_DIMENSION_COORDINATE_VALUES_DEFINITION:
				return convertVerticalDimensionCoordinateValuesDefinitionToString(eDataType, instanceValue);
			case GridsPackage.RESOLUTION_AND_COMPONENT_FLAGS:
				return convertResolutionAndComponentFlagsToString(eDataType, instanceValue);
			case GridsPackage.SCANNING_MODE:
				return convertScanningModeToString(eDataType, instanceValue);
			case GridsPackage.PROJECTION_CENTRE:
				return convertProjectionCentreToString(eDataType, instanceValue);
			case GridsPackage.SPECTRAL_DATA_REPRESENTATION_TYPE:
				return convertSpectralDataRepresentationTypeToString(eDataType, instanceValue);
			case GridsPackage.SPECTRAL_DATA_REPRESENTATION_MODE:
				return convertSpectralDataRepresentationModeToString(eDataType, instanceValue);
			case GridsPackage.NUMBERING_ORDER_OF_DIAMONDS_AS_SEEN_FROM_THE_CORRESPONDING_POLE:
				return convertNumberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleToString(eDataType, instanceValue);
			default:
				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
		}
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate30 createGridDefinitionTemplate30() {
		GridDefinitionTemplate30Impl gridDefinitionTemplate30 = new GridDefinitionTemplate30Impl();
		return gridDefinitionTemplate30;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate31 createGridDefinitionTemplate31() {
		GridDefinitionTemplate31Impl gridDefinitionTemplate31 = new GridDefinitionTemplate31Impl();
		return gridDefinitionTemplate31;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate32 createGridDefinitionTemplate32() {
		GridDefinitionTemplate32Impl gridDefinitionTemplate32 = new GridDefinitionTemplate32Impl();
		return gridDefinitionTemplate32;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate33 createGridDefinitionTemplate33() {
		GridDefinitionTemplate33Impl gridDefinitionTemplate33 = new GridDefinitionTemplate33Impl();
		return gridDefinitionTemplate33;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate34 createGridDefinitionTemplate34() {
		GridDefinitionTemplate34Impl gridDefinitionTemplate34 = new GridDefinitionTemplate34Impl();
		return gridDefinitionTemplate34;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate35 createGridDefinitionTemplate35() {
		GridDefinitionTemplate35Impl gridDefinitionTemplate35 = new GridDefinitionTemplate35Impl();
		return gridDefinitionTemplate35;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate310 createGridDefinitionTemplate310() {
		GridDefinitionTemplate310Impl gridDefinitionTemplate310 = new GridDefinitionTemplate310Impl();
		return gridDefinitionTemplate310;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate312 createGridDefinitionTemplate312() {
		GridDefinitionTemplate312Impl gridDefinitionTemplate312 = new GridDefinitionTemplate312Impl();
		return gridDefinitionTemplate312;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate320 createGridDefinitionTemplate320() {
		GridDefinitionTemplate320Impl gridDefinitionTemplate320 = new GridDefinitionTemplate320Impl();
		return gridDefinitionTemplate320;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate330 createGridDefinitionTemplate330() {
		GridDefinitionTemplate330Impl gridDefinitionTemplate330 = new GridDefinitionTemplate330Impl();
		return gridDefinitionTemplate330;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate331 createGridDefinitionTemplate331() {
		GridDefinitionTemplate331Impl gridDefinitionTemplate331 = new GridDefinitionTemplate331Impl();
		return gridDefinitionTemplate331;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate340 createGridDefinitionTemplate340() {
		GridDefinitionTemplate340Impl gridDefinitionTemplate340 = new GridDefinitionTemplate340Impl();
		return gridDefinitionTemplate340;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate341 createGridDefinitionTemplate341() {
		GridDefinitionTemplate341Impl gridDefinitionTemplate341 = new GridDefinitionTemplate341Impl();
		return gridDefinitionTemplate341;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate342 createGridDefinitionTemplate342() {
		GridDefinitionTemplate342Impl gridDefinitionTemplate342 = new GridDefinitionTemplate342Impl();
		return gridDefinitionTemplate342;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate343 createGridDefinitionTemplate343() {
		GridDefinitionTemplate343Impl gridDefinitionTemplate343 = new GridDefinitionTemplate343Impl();
		return gridDefinitionTemplate343;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate350 createGridDefinitionTemplate350() {
		GridDefinitionTemplate350Impl gridDefinitionTemplate350 = new GridDefinitionTemplate350Impl();
		return gridDefinitionTemplate350;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate351 createGridDefinitionTemplate351() {
		GridDefinitionTemplate351Impl gridDefinitionTemplate351 = new GridDefinitionTemplate351Impl();
		return gridDefinitionTemplate351;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate352 createGridDefinitionTemplate352() {
		GridDefinitionTemplate352Impl gridDefinitionTemplate352 = new GridDefinitionTemplate352Impl();
		return gridDefinitionTemplate352;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate353 createGridDefinitionTemplate353() {
		GridDefinitionTemplate353Impl gridDefinitionTemplate353 = new GridDefinitionTemplate353Impl();
		return gridDefinitionTemplate353;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate390 createGridDefinitionTemplate390() {
		GridDefinitionTemplate390Impl gridDefinitionTemplate390 = new GridDefinitionTemplate390Impl();
		return gridDefinitionTemplate390;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate3100 createGridDefinitionTemplate3100() {
		GridDefinitionTemplate3100Impl gridDefinitionTemplate3100 = new GridDefinitionTemplate3100Impl();
		return gridDefinitionTemplate3100;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate3101 createGridDefinitionTemplate3101() {
		GridDefinitionTemplate3101Impl gridDefinitionTemplate3101 = new GridDefinitionTemplate3101Impl();
		return gridDefinitionTemplate3101;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate3110 createGridDefinitionTemplate3110() {
		GridDefinitionTemplate3110Impl gridDefinitionTemplate3110 = new GridDefinitionTemplate3110Impl();
		return gridDefinitionTemplate3110;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate3120 createGridDefinitionTemplate3120() {
		GridDefinitionTemplate3120Impl gridDefinitionTemplate3120 = new GridDefinitionTemplate3120Impl();
		return gridDefinitionTemplate3120;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate31000 createGridDefinitionTemplate31000() {
		GridDefinitionTemplate31000Impl gridDefinitionTemplate31000 = new GridDefinitionTemplate31000Impl();
		return gridDefinitionTemplate31000;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate31100 createGridDefinitionTemplate31100() {
		GridDefinitionTemplate31100Impl gridDefinitionTemplate31100 = new GridDefinitionTemplate31100Impl();
		return gridDefinitionTemplate31100;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplate31200 createGridDefinitionTemplate31200() {
		GridDefinitionTemplate31200Impl gridDefinitionTemplate31200 = new GridDefinitionTemplate31200Impl();
		return gridDefinitionTemplate31200;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridDefinitionTemplateNumber createGridDefinitionTemplateNumberFromString(EDataType eDataType, String initialValue) {
		GridDefinitionTemplateNumber result = GridDefinitionTemplateNumber.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertGridDefinitionTemplateNumberToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public SourceOfGridDefinition createSourceOfGridDefinitionFromString(EDataType eDataType, String initialValue) {
		SourceOfGridDefinition result = SourceOfGridDefinition.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertSourceOfGridDefinitionToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public ShapeOfTheEarth createShapeOfTheEarthFromString(EDataType eDataType, String initialValue) {
		ShapeOfTheEarth result = ShapeOfTheEarth.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertShapeOfTheEarthToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridPointPosition createGridPointPositionFromString(EDataType eDataType, String initialValue) {
		GridPointPosition result = GridPointPosition.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertGridPointPositionToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public InterpretationOfListOfNumbersAtEndOfSection3 createInterpretationOfListOfNumbersAtEndOfSection3FromString(EDataType eDataType, String initialValue) {
		InterpretationOfListOfNumbersAtEndOfSection3 result = InterpretationOfListOfNumbersAtEndOfSection3.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertInterpretationOfListOfNumbersAtEndOfSection3ToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PhysicalMeaningOfVerticalCoordinate createPhysicalMeaningOfVerticalCoordinateFromString(EDataType eDataType, String initialValue) {
		PhysicalMeaningOfVerticalCoordinate result = PhysicalMeaningOfVerticalCoordinate.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertPhysicalMeaningOfVerticalCoordinateToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TypeOfHorizontalLine createTypeOfHorizontalLineFromString(EDataType eDataType, String initialValue) {
		TypeOfHorizontalLine result = TypeOfHorizontalLine.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTypeOfHorizontalLineToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public VerticalDimensionCoordinateValuesDefinition createVerticalDimensionCoordinateValuesDefinitionFromString(EDataType eDataType, String initialValue) {
		VerticalDimensionCoordinateValuesDefinition result = VerticalDimensionCoordinateValuesDefinition.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertVerticalDimensionCoordinateValuesDefinitionToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public ResolutionAndComponentFlags createResolutionAndComponentFlagsFromString(EDataType eDataType, String initialValue) {
		ResolutionAndComponentFlags result = ResolutionAndComponentFlags.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertResolutionAndComponentFlagsToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public ScanningMode createScanningModeFromString(EDataType eDataType, String initialValue) {
		ScanningMode result = ScanningMode.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertScanningModeToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public ProjectionCentre createProjectionCentreFromString(EDataType eDataType, String initialValue) {
		ProjectionCentre result = ProjectionCentre.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertProjectionCentreToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public SpectralDataRepresentationType createSpectralDataRepresentationTypeFromString(EDataType eDataType, String initialValue) {
		SpectralDataRepresentationType result = SpectralDataRepresentationType.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertSpectralDataRepresentationTypeToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public SpectralDataRepresentationMode createSpectralDataRepresentationModeFromString(EDataType eDataType, String initialValue) {
		SpectralDataRepresentationMode result = SpectralDataRepresentationMode.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertSpectralDataRepresentationModeToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public NumberingOrderOfDiamondsAsSeenFromTheCorrespondingPole createNumberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleFromString(EDataType eDataType, String initialValue) {
		NumberingOrderOfDiamondsAsSeenFromTheCorrespondingPole result = NumberingOrderOfDiamondsAsSeenFromTheCorrespondingPole.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertNumberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridsPackage getGridsPackage() {
		return (GridsPackage)getEPackage();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @deprecated
	 * @generated
	 */
	@Deprecated
	public static GridsPackage getPackage() {
		return GridsPackage.eINSTANCE;
	}

} //GridsFactoryImpl
